package com.bt.lms.ui.page.course;

import com.bt.lms.ui.action.course.AddCourseReturnBtnAction;
import com.bt.lms.ui.action.course.AddCourseSaveBtnAction;
import com.bt.lms.ui.page.sys.style.BtnStyle;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Cursor;
import javafx.scene.Node;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;

/**
 * 课程管理
 * 新增课程
 */
public class AddPage extends VBox {

    /**
     * 标题宽
     */
    private Integer width = 200;

    /**
     * 宽
     */
    public Integer preWidth = 1280;


    public AddPage() {

        //初始化所在位置
        initLocation();


        Label label = new Label("新增课程");
        Font font = Font.font("仿宋", FontWeight.BLACK, FontPosture.REGULAR, 20);
        Color rgb = Color.rgb(247, 69, 69);
        label.setTextFill(rgb);
        label.setFont(font);
        this.getChildren().add(label);
        this.setSpacing(40);
        //初始化编辑内容
        initBasicInfo();
        //初始化保存按钮
        initSaveButton();

        this.setPrefWidth(preWidth);
    }

    /**
     * 初始化所在位置
     */
    public void initLocation(){

        HBox hBox = new HBox();
        Insets insets = new Insets(10);
        hBox.setPadding(insets);
        Label label = new Label("当前位置：🏠>教学管理>课程管理>新增课程");
        Font font = Font.font("仿宋", FontWeight.THIN, FontPosture.REGULAR,18);
        label.setFont(font);
        hBox.getChildren().add(label);
        this.getChildren().add(hBox);

    }

    /**
     * 初始化编辑内容
     */
    public void initBasicInfo() {

        //基本信息主盒子
        VBox vBox = new VBox();
        Insets insets = new Insets(10);
        vBox.setPadding(insets);
        vBox.setSpacing(40);
        //课程编号
        HBox courseNumberHBox = new HBox();
        courseNumberHBox.setSpacing(10);
        Label courseNumberLabel = new Label("课程编号*");
        courseNumberLabel.setPrefWidth(width);
        TextField courseNumberTF = new TextField();
        courseNumberTF.setId("courseNumberTF");
        courseNumberHBox.getChildren().addAll(courseNumberLabel, courseNumberTF);
        //课程名称
        HBox courseNameHBox = new HBox();
        courseNameHBox.setSpacing(10);
        Label courseNameLabel = new Label("课程名称*");
        courseNameLabel.setPrefWidth(width);
        TextField courseNameTF = new TextField();
        courseNameTF.setId("courseNameTF");
        courseNameHBox.getChildren().addAll(courseNameLabel, courseNameTF);
        //课程英文名称
        HBox courseEnglishNameHBox = new HBox();
        courseEnglishNameHBox.setSpacing(10);
        Label courseEnglishNameLabel = new Label("课程英文名称");
        courseEnglishNameLabel.setPrefWidth(width);
        TextField courseEnglishNameTF = new TextField();
        courseEnglishNameTF.setId("courseEnglishNameTF");
        courseEnglishNameHBox.getChildren().addAll(courseEnglishNameLabel, courseEnglishNameTF);
        //所属的学习中心
        HBox studyCenterHBox = new HBox();
        studyCenterHBox.setSpacing(10);
        Label studyCenterLab = new Label("所属的学习中心*");
        studyCenterLab.setPrefWidth(width);
        ComboBox<String> studyCenterCB = new ComboBox<>();
        studyCenterCB.setId("studyCenterCB");
        studyCenterCB.getSelectionModel().select("所属的学习中心");
        studyCenterCB.setPromptText("所属的学习中心");
        studyCenterCB.getItems().add("北京师范大学");
        studyCenterCB.getItems().add("东北师范大学");
        studyCenterCB.getItems().add("西南大学");
        studyCenterCB.setCursor(Cursor.HAND); //鼠标移入添加小手图案
        studyCenterHBox.getChildren().addAll(studyCenterLab, studyCenterCB);
        //适合层次
        HBox applyLevelHBox = new HBox();
        applyLevelHBox.setSpacing(10);
        Label applyLevelLabel = new Label("适合层次*");
        applyLevelLabel.setPrefWidth(width);
        ComboBox<String> applyLevelComboBox = new ComboBox<>();
        applyLevelComboBox.setId("applyLevelComboBox");
        applyLevelComboBox.getSelectionModel().select("适合层次");
        applyLevelComboBox.getItems().add("高中");
        applyLevelComboBox.getItems().add("大专");
        applyLevelComboBox.getItems().add("本科");
        applyLevelComboBox.getItems().add("其他");
        applyLevelComboBox.setCursor(Cursor.HAND); //鼠标移入添加小手图案
        applyLevelHBox.getChildren().addAll(applyLevelLabel, applyLevelComboBox);
        //版本
        HBox versionsHBox = new HBox();
        versionsHBox.setSpacing(10);
        Label versionsLabel = new Label("版本");
        versionsLabel.setPrefWidth(width);
        TextField versionsTF = new TextField();
        versionsTF.setId("versionsTF");
        versionsHBox.getChildren().addAll(versionsLabel, versionsTF);


        //小盒子放大盒子里
        ObservableList<Node> children = vBox.getChildren();
        children.addAll(courseNumberHBox, courseNameHBox, courseEnglishNameHBox, studyCenterHBox, applyLevelHBox, versionsHBox);

        //大盒子放到主盒子
        this.getChildren().add(vBox);

    }

    /**
     * 初始化保存按钮
     */
    public void initSaveButton() {

        //按钮小盒子
        HBox hBox = new HBox();
        hBox.setSpacing(10);
        hBox.setAlignment(Pos.CENTER);


        Button saveBtn = new Button("保存");
        saveBtn.setCursor(Cursor.HAND); //鼠标移入添加小手图案
        BtnStyle.saveBtn(saveBtn);
        //保存按钮加时间
        AddCourseSaveBtnAction addCourseSaveBtnAction = new AddCourseSaveBtnAction(this);
        saveBtn.setOnAction(addCourseSaveBtnAction);

        Button cancelVBtn = new Button("取消");
        cancelVBtn.setCursor(Cursor.HAND); //鼠标移入添加小手图案
        BtnStyle.cancelBtn(cancelVBtn);
        AddCourseReturnBtnAction addCourseSaveAndReturnBtnAction = new AddCourseReturnBtnAction(this);
        cancelVBtn.setOnAction(addCourseSaveAndReturnBtnAction);

        Button addStartBtn = new Button("保存并启用");
        addStartBtn.setCursor(Cursor.HAND); //鼠标移入添加小手图案
        BtnStyle.saveBtn(addStartBtn);

        //放入按钮盒子
        hBox.getChildren().addAll(saveBtn, addStartBtn, cancelVBtn);

        //放入大盒子
        this.getChildren().add(hBox);

    }
}
